import React from "react"

class TestThis extends React.Component {

  checkThis = () => {
    console.log(this)
  }

  // 在 React 组件挂载之前，会调用它的构造函数 constructor()。
  constructor() {
    super()
    // 使用bind强行修正this指向
    // 类组件初始化阶段将回调函数的this永远指向当前组件的实例对象
    this.handler = this.handler.bind(this)
  }

  handler () {
    console.log(this)
    // undefined
  }
  render () {
    return (
      <div>
        <button onClick={this.checkThis}>checkThis</button><br />
        <button onClick={this.handler}>handler</button>
      </div>
    )
  }
}
// 根组件
function App () {
  return (
    <div>
      <TestThis></TestThis>
    </div>
  )
}
export default App